<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8" import="java.util.List"%>
<script type="text/javascript" charset="UTF-8">
	var contactId="${param.contactId}";
	var refObject=1;
	var taskId="";
 
	var dg1;
	var d1;
	var f1;
 
	var dg2;
	var d2;
	var f2;
 
	$(function() {
		
		f1 = $('#f1').form();
		d1 = $('#d1').show().dialog({
			modal : true,
			title : '任务',
			buttons : [ {
				text : '确定',
				handler : function() {
					var formData=f1.form("serialize");
					formData.contact_id=contactId;
					var data=JSON.stringify(formData);
					$("#f1 input[name=data]").val(data);
					if (f1.find('[name=task_id]').val() != '') {
						f1.form('submit', {
							url : '<%=request.getContextPath()%>/demand/task/save.htm',
							success : function(data) {
								d1.dialog('close');
								$.messager.show({
									msg : '编辑成功！',
									title : '提示'
								});
								dg1.datagrid('reload');
							}
						});
					} else {
						f1.form('submit', {
							url : '<%=request.getContextPath()%>/demand/task/save.htm',
							success : function(v) {
								try {
									 
									d1.dialog('close');
									$.messager.show({
										msg : '创建成功！',
										title : '提示'
									});
									dg1.datagrid('reload');
							 
								} catch (e) {
									$.messager.show({
										msg : '操作失败！',
										title : '提示'
									});
								}
							}
						});
					}
				}
			} ]
		}).dialog('close');
		dg1 = $('#dg1').datagrid({
			url : '<%=request.getContextPath()%>/demand/task/list.htm?contactId=${param.contactId}',
			toolbar : '#toolbar',
			title : '任务',
			iconCls : 'icon-save',
			pagination : true,
			pageSize : 5,
			pageList : [5],
			//fit : false,
			fitColumns : true,
			nowrap : false,
			border : true,
			selectOnCheck:true,
			checkOnSelect:true,
			singleSelect:true,
			idField : 'task_id',
			frozenColumns : [ [ {
				field : 'task_id',
				width : 50,
				checkbox : true
			}] ],
			columns : [ [
			{
				field : 'task_name',
				title : '任务名称',
				width : 100
			},
			{
				field : 'task_type_',
				title : '任务类型',
				width : 100
			},
			{
				field : 'work_day',
				title : '工作量',
				width : 100
			},
			{
				field : 'task_desc',
				title : '任务描述',
				width : 100
			},
			{
				field : 'staff_id_',
				title : '创建人',
				width : 100
			},
			{
				field : 'manager_id_',
				title : '负责人',
				width : 100
			},
			
			{
				field : 'state_',
				title : '任务状态',
				width : 100
			},
			{
				field : 'plan_finish_date',
				title : '计划完成时间点',
				width : 100
			},{
				field : 'finished_date',
				title : '实际完成时间',
				width : 100
			},
			{
				field : 'manager_id',
				hidden:true
			},
			{
				field : 'state',
				hidden:true
			},
			{
				field : 'staff_id',
				hidden:true
			}
			] ],
			onClickCell: function(index,field,value){
				var rows = dg1.datagrid('getRows');
				taskId= rows[index].task_id;
				dg2.datagrid('load', {
					relId : rows[index].task_id,
					refObject:refObject
				}).datagrid({
						title:"【"+rows[index].task_name+"】任务关联文档"
				  });
			}
		});
		
	 
		f2 = $('#f2').form();
		 
		d2 = $('#d2').show().dialog({
			modal : true,
			title : (refObject==1?'任务':'会议')+'文档',
			buttons : [ {
				text : '确定',
				handler : function() {
					var formData=f2.form("serialize");
					formData.ref_object=refObject;
					formData.ref_id=taskId;
					var data=JSON.stringify(formData);
					$("#f2 input[name=data]").val(data);
						f2.form('submit', {
							url : '<%=request.getContextPath()%>/demand/doc/save.htm',
							success : function(v) {
								try {
									d2.dialog('close');
									$.messager.show({
										msg : '创建成功！',
										title : '提示'
									});
									dg2.datagrid('reload');
									 
								} catch (e) {
									$.messager.show({
										msg : '操作失败！',
										title : '提示'
									});
								}
							}
						});
					 
				}
			} ]
		}).dialog('close');

		dg2 = $('#dg2').datagrid({
			url : '<%=request.getContextPath()%>/demand/doc/list.htm',
			toolbar : '#toolbar2',
			title : (refObject==1?'任务':'会议')+'文档',
			iconCls : 'icon-save',
			pagination : true,
			pageSize : 5,
			pageList : [5],
			//fit : true,
			//fitColumns : true,
			nowrap : false,
			border : true,
			idField : 'doc_id',
			frozenColumns : [ [ {
				field : 'doc_id',
				width : 50,
				checkbox : true
			},
			{
				field : 'doc_type_',
				title : '文档类型',
				width : 80
			},
			{
				field : 'create_date',
				title : '文档创建时间',
				width : 100
			}] ],
			columns : [ [ 			
			{
				field : 'doc_author_',
				title : '创建人',
				width : 100
			},
			{
				field : 'doc_maintain',
				title : '维护人',
				width : 100
			},
			{
				field : 'doc_path',
				title : '文档路径',
				width : 300
			},
			{
				field : 'doc_desc',
				title : '文档描述',
				width : 300
			}
			]],
			onDblClickCell: function(index,field,value){
				var rows = dg2.datagrid('getRows');
				d2.dialog('open');
				f2.form('clear');
				f2.form('load','<%=request.getContextPath()%>/demand/doc/get.htm?id='+rows[index].doc_id);
				
			}
		});

		$('#f1 select[name=manager_id]').combogrid({
			panelWidth:200,
			required:true,
			idField:'ur_id',
			textField:'user_name',
			url:'<%=request.getContextPath()%>/sys/paramGroup/getParamGrid.htm?info=UGxosPAiph',
			columns:[[
					{field:'ur_id',title:'ID',width:60,hidden:true},
					{field:'user_name',title:'名称',width:80},
					{field:'role_name',title:'角色',width:80}
			
		    ]]
		});
		$('#f1 select[name=task_type]').combobox({
			editable:false,
			   required:true,
			   valueField:'code',
			   textField:'code_desc',
			   url:'<%=request.getContextPath()%>/sys/paramGroup/getParam.htm?info=OS4cqbVroP&info=d_task&info=task_type'
		});
		$('select[name=doc_type]').combobox({
			editable:false,
			   required:true,
			   valueField:'code',
			   textField:'code_desc',
			   url:'<%=request.getContextPath()%>/sys/paramGroup/getParam.htm?info=OS4cqbVroP&info=d_doc&info=doc_type'
		});
		
	});
 
	function append() {
		if(form1.find('[name=state]').val()=="3"){//已完成需求
			$.messager.show({
				msg : '需求已完成',
				title : '提示'
			});
			return false;
	 	}	
		d1.dialog('open');
		f1.form('clear');
	}
	function edit() {
		if(form1.find('[name=state]').val()=="3"){//已完成需求
			$.messager.show({
				msg : '需求已完成',
				title : '提示'
			});
			return false;
	 	}	
		var rows = dg1.datagrid('getSelections');
		if (rows.length != 1 && rows.length != 0) {
			var names = [];
			for ( var i = 0; i < rows.length; i++) {
				names.push(rows[i].name);
			}
			$.messager.show({
				msg : '只能择一个记录编辑！您已经选择了【' + names.join(',') + '】' + rows.length + '条',
				title : '提示'
			});
		} else if (rows.length == 1) {
			if('${userRoleInfo.role_id}'!='1'&&rows[0].staff_id!='${userRoleInfo.ur_id}'){
				$.messager.show({
					msg : rows[0].task_name+'不可修改，为他人创建任务',
					title : '提示'
				});
				return false;
			}
			if(rows[0].state=="3"){
				$.messager.show({
					msg :  '已完成任务不可编辑',
					title : '提示'
				});
				return false;
			}
			d1.dialog('open');
			f1.form('clear');
			f1.form('load','<%=request.getContextPath()%>/demand/task/get.htm?id='+rows[0].task_id);
		}else{
			$.messager.show({
				msg : '请选择一条记录进行操作',
				title : '提示'
			});
		}
	}
	
	
	function remove() {
		if(form1.find('[name=state]').val()=="3"){//已完成需求
			$.messager.show({
				msg : '需求已完成',
				title : '提示'
			});
			return false;
		}		
		var ids = [];
		var rows = dg1.datagrid('getSelections');
		if (rows.length > 0) {
			$.messager.confirm('请确认', '您要删除当前所选项目？', function(r) {
				if (r) {
					for ( var i = 0; i < rows.length; i++) {
						ids.push(rows[i].task_id);
						 
						if('${userRoleInfo.role_id}'!='1'&&rows[i].staff_id!='${userRoleInfo.ur_id}'){
							$.messager.show({
								msg : rows[i].task_name+'不可删除，为他人创建任务',
								title : '提示'
							});
							return false;
						}
						if(rows[i].state=="3"){
							$.messager.show({
								msg :  '已完成任务不可删除',
								title : '提示'
							});
							return false;
						}
						 
					}
					$.ajax({
						url : '<%=request.getContextPath()%>/demand/task/del.htm',
						data : {
							id : ids.join(',')
						},
						cache : false,
						success : function(response) {
							dg1.datagrid('unselectAll');
							dg1.datagrid('reload');
							$.messager.show({
								title : '提示',
								msg : '删除成功！'
							});
						}
					});
				}
			});
		} else {
			$.messager.alert('提示', '请选择要删除的记录！', 'error');
		}
	}
	function closeTask(){
		var rows = dg1.datagrid('getSelections');
		if (rows.length != 1 && rows.length != 0) {
			var names = [];
			for ( var i = 0; i < rows.length; i++) {
				names.push(rows[i].name);
			}
			$.messager.show({
				msg : '只能择一个记录操作！您已经选择了' + rows.length + '条',
				title : '提示'
			});
		} else if (rows.length == 1) {
			if(rows[0].manager_id!='${userRoleInfo.ur_id}'){
				$.messager.show({
					msg : '请选择派发给自己的任务进行操作',
					title : '提示'
				});
			}else if(rows[0].state=="3"){
				$.messager.show({
					msg : '该任务已完成，请勿重复操作',
					title : '提示'
				});
			}else{
				var data={"contact_id":contactId,"task_id":rows[0].task_id};
				data=JSON.stringify(data);
				$.ajax({
					url : '<%=request.getContextPath()%>/demand/task/finish.htm',
					type: "POST",
					data:{data:data},
					cache:false,
					success : function(response) {
						dg1.datagrid('unselectAll');
						dg1.datagrid('reload');
						$.messager.show({
							title : '提示',
							msg : '操作成功！'
						});
					}
				});
			}
			 
		}else{
			$.messager.show({
				msg : '请选择一条记录进行操作',
				title : '提示'
			});
		}
	}
	function autoCreateTask(){
		var pager=dg1.datagrid('getPager');
		if($(pager).pagination('options').total==0&&'${userRoleInfo.ur_id}'==$("input[name=owner]").val()){
			var data={"contact_id":contactId,"ur_id":${userRoleInfo.ur_id},"plan_finish_date":$("input[name=plan_date]").val()};
			data=JSON.stringify(data);
			$.ajax({
				url : '<%=request.getContextPath()%>/demand/task/autoCreate.htm',
				type: "POST",
				data:{data:data},
				cache:false,
				success : function(response) {
					dg1.datagrid('unselectAll');
					dg1.datagrid('reload');
					$.messager.show({
						title : '提示',
						msg : '操作成功！'
					});
				}
			});	 
		}else{
			$.messager.show({
				msg : '请确定该需求责任人为你并且需求下无任何任务，可使用自动生成',
				title : '提示'
			});
		}
		
	 
	}
	function append2() {
		if(taskId==""){
			$.messager.show({
				msg : '请先双击选择一条任务，再新建文档',
				title : '提示'
			});
			return false;
		}
		d2.dialog('open');
		f2.form('clear');
	}
	function edit2() {
		var rows = dg2.datagrid('getSelections');
		if (rows.length != 1 && rows.length != 0) {
			var names = [];
			for ( var i = 0; i < rows.length; i++) {
				names.push(rows[i].name);
			}
			$.messager.show({
				msg : '只能择一个记录编辑！您已经选择了【' + names.join(',') + '】' + rows.length + '条',
				title : '提示'
			});
		} else if (rows.length == 1) {
			d2.dialog('open');
			f2.form('clear');
			f2.form('load','<%=request.getContextPath()%>/demand/doc/get.htm?id='+rows[0].doc_id);
		}else{
			$.messager.show({
				msg : '请选择一条记录进行操作',
				title : '提示'
			});
		}
	}
	
	function remove2() {
		var ids = [];
		var rows = dg2.datagrid('getSelections');
		if (rows.length > 0) {
			$.messager.confirm('请确认', '您要删除当前所选项目？', function(r) {
				if (r) {
					for ( var i = 0; i < rows.length; i++) {
						ids.push(rows[i].doc_id);
					}
					$.ajax({
						url : '<%=request.getContextPath()%>/demand/doc/del.htm',
						data : {
							id : ids.join(',')
						},
						cache : false,
						success : function(response) {
							dg2.datagrid('unselectAll');
							dg2.datagrid('reload');
							$.messager.show({
								title : '提示',
								msg : '删除成功！'
							});
						}
					});
				}
			});
		} else {
			$.messager.alert('提示', '请选择要删除的记录！', 'error');
		}
	}
 
	 
	function clearFun() {
		$('#toolbar input').val('');
		dg1.datagrid('load', {});
	}
	function clearFun2() {
		$('#toolbar input').val('');
		dg2.datagrid('load', {});
	}
</script>
	<%-- 任务  --%>
	<div region="center" border="false" style="overflow: hidden;">
		<div id="toolbar" class="datagrid-toolbar" style="height: auto;">
			<div>
				<%--管理员可操作 --%>
				<a class="easyui-linkbutton"   iconCls="icon-add" onclick="append();" plain="true"  href="javascript:void(0);">增加</a>
				<a class="easyui-linkbutton"   iconCls="icon-remove" onclick="remove();" plain="true" href="javascript:void(0);">删除</a> 
				<a class="easyui-linkbutton"   iconCls="icon-edit" onclick="edit();" plain="true" href="javascript:void(0);">编辑</a>
	 
				<a class="easyui-linkbutton" iconCls="icon-ok" onclick="closeTask();" plain="true" href="javascript:void(0);">完成</a>
				<a class="easyui-linkbutton" iconCls="icon-computer" onclick="autoCreateTask();" plain="true" href="javascript:void(0);">自动生成</a>
			</div>
		</div>
		<table id="dg1"></table>
	</div>
   
	<%-- 任务 --%>
	<br/>
	<%-- 文档  --%>
	<div region="center" border="false" style="overflow: hidden;">
		<div id="toolbar2" class="datagrid-toolbar" style="height: auto;">
			<div>
				<a class="easyui-linkbutton" iconCls="icon-add" onclick="append2();" plain="true" href="javascript:void(0);">增加</a>
				<a class="easyui-linkbutton" ${userRoleInfo.role_id!='1'?"disabled='true'":""} iconCls="icon-remove" onclick="remove2();" plain="true" href="javascript:void(0);">删除</a> 
				<a class="easyui-linkbutton" iconCls="icon-edit" onclick="edit2();" plain="true" href="javascript:void(0);">编辑</a>
				<a class="easyui-linkbutton" iconCls="icon-undo" onclick="dg2.datagrid('unselectAll');" plain="true" href="javascript:void(0);">取消选中</a>
			</div>
		</div>
		<table id="dg2"></table>
	</div>
	<%-- 文档  --%>
	 